package net.melon.cata.inst.eg.region;

import net.melon.cata.CatalogRegistry;
import net.melon.cata.manager.CatalogServiceImpl;
import net.melon.cata.manager.id.ScaleType;
import net.melon.cata.pojo.CatalogVo;

public class RegionCatalogServiceImpl extends CatalogServiceImpl<Region>{

	static{
		CatalogRegistry.regisiter("region", Region.class);
	}
	
	@Override
	public Region convertFromVo(CatalogVo vo) {
		Region region = new Region();
		region.setDurable(vo.isDurable());
		region.setId(vo.getId());
		region.setName(vo.getName());
		region.setNameSub(vo.getNameSub());
		if(vo.getParent()!=null){
			Region parent = new Region();
			parent.setId(vo.getParent().getId());
			region.setParent(parent);
		}
		return region;
	}

	@Override
	public CatalogVo convertToVo(Region t) {
		CatalogVo vo = new CatalogVo();
		vo.setId(t.getId());
		vo.setDurable(t.isDurable());
		vo.setName(t.getName());
		vo.setNameSub(t.getNameSub());
		if(t.getParent()!=null){
			CatalogVo parent = new CatalogVo();
			parent.setId(t.getParent().getId());
			vo.setParent(parent);
		}
		return vo;
	}

	@Override
	protected String getScaleType() {
		return ScaleType.DEC.name();
	}

}
